package com.gzsxy.excel.entity;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.gzsxy.excel.util.DateConverter;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * @Author
 * @Description //TODO Excel模板对象
 * @Date 2022/01/12
 * @Param $
 * @return $
 **/
@ContentRowHeight(30) // 文本行高度
@HeadRowHeight(20) // 标题高度
@ColumnWidth(30) // 默认列宽度
@Data
public class ProductTo {

    /**
     * ID
     */
    @ExcelProperty(value = "ID")
    @ColumnWidth(15)
    private String id;

    /**
     * 标题
     */
    @ExcelProperty(value = "产品名称")
    @ColumnWidth(15)
    private String name;

    /**
     * 负责人账户
     */
    @ExcelProperty(value = "负责人账户")
    @ColumnWidth(15)
    private String account;

    /**
     * 计划开始时间
     */
    @ExcelProperty(value = "计划开始时间",converter = DateConverter.class)
    @ColumnWidth(20)
    private Date planStartTime;
    /**
     * 计划结束时间
     */
    @ExcelProperty(value = "计划结束时间", converter = DateConverter.class)
    @ColumnWidth(20)
    private Date planEndTime;
    /**
     * 实际结束时间
     */
    @ExcelProperty(value = "实际开始时间", converter = DateConverter.class)
    @ColumnWidth(20)
    private Date actualStartTime;
    /**
     * 实际结束时间
     */
    @ExcelProperty(value = "实际结束时间", converter = DateConverter.class)
    @ColumnWidth(20)
    @DateTimeFormat("yyyy-MM-dd")
    private Date actualEndTime;

    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    @ColumnWidth(20)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @ExcelProperty(value = "最后修改时间")
    @ColumnWidth(20)
    private LocalDateTime updateTime;
    /**
     * 状态0.未启动 1.研发中 2.暂停 3.提测中 4.已归档
     */
    @ExcelProperty(value = "状态  未启动/研发中/暂停/提测中/已归档")
    @ColumnWidth(15)
    private String state;
    /**
     * 是否延期 0.否 1.是
     */
    @ExcelProperty(value = "是否延期")
    @ColumnWidth(15)
    private String isDelay;
    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    @ColumnWidth(15)
    private String remarks;

}
